In modern business, economic, and scientific environments, color has become essential as a component of communication. Color facilitates the sharing of knowledge and ideas. Companies involved in the development of digital color document output devices are continuously searching for techniques, which can improve the accuracy and total image quality of their products.
Color images are commonly represented as one or more separations, each separation comprising a set of color density signals for a single primary or secondary color. Color density signals are commonly represented as digital pixels, which vary in magnitude from a minimum to a maximum, with a number of gradients corresponding to the bit density of the system. Thus, for example, a common 8-bit system can provide 256 shades of each primary color.
A color can therefore be considered as the combination of magnitudes of each pixel, which when viewed together present the combination color. Usually, printer signals include three subtractive primary color signals (i.e., Cyan, Magenta and Yellow) and a Black signal, which together can be considered the printer colorant signals. Each color signal forms a separation, and when combined together with the other separations forms the color image.
It is desirable to specify document properties in a device-independent fashion in order to facilitate the exchange and reuse of documents where possible. Colors are therefore preferably specified in a device-independent color space based on the characteristics of human vision. In order to print or display a given color, it is often necessary to determine the device control values corresponding to specified device-independent color values, because the native control spaces of output devices (e.g., a printer's CMYK values) do not constitute device-independent color spaces. This normally can be accomplished utilizing a three-step procedure.
First, a set of color patches with pre-determined device control values is output on the device and the color of each patch is measured in device-independent color coordinates. Second, utilizing the device control values and the corresponding measured device-independent color values, a “forward device-response function” can be estimated. Third, the “forward device-response function” can be “inverted” to obtain a “device-correction-function”.
The “forward device-response function” of step two represents the mapping from device control values to the device independent color values produced by the device in response to the control values. The “device-correction-function” of step three maps each device-independent color to the device control values that produce the specified device-independent color value on the output device. The “device-correction-function” is typically pre-computed and stored in memory. In order to produce a given color on the output device, the corresponding device-independent color values are mapped through the “device correction-function” to obtain control values. When the device is driven with such control values, a desired color can be produced.
It is common practice to separate the “device correction-function” into two parts: a “calibration” function that immediately precedes the device and a “characterization” function, which addresses the device “through” the calibration function. This separation is illustrated in FIG. 1 for the case of a conventional CMYK printer. In FIG. 1, a conventional system 100 is depicted, which can be implemented as a CMYK printer. System 100 can be divided into a “device-correction function” 105 and a “calibration device” portion 107. The “device correction function” 105 can be partitioned into characterization and calibration portions, respectively represented by a characterization routine 102 and a calibration unit 104.
A device independent color can be provided as input 110 to the characterization routine 102, whose output can be fed to a calibration unit 104. The output from calibration unit 104 can be provided in turn to an output device 106 as indicated by an output line 114. Additionally, line 112 indicates alternate CMYK (i.e., fast emulation). Data can be output from a reprint path unit 108 and fed to the calibration unit 104. In FIG. 1, the “calibration device” portion 107 of system 100 can be formed generally from calibration unit 104 and output device 106.
Another example of a calibration system includes U.S. Pat. No. 5,305,119 to Rolleston et al, “Color Printer Calibration Architecture,” which issued on Apr. 19, 1994 and is assigned to Xerox Corporation. U.S. Pat. No. 5,305,119 is generally directed toward a method of calibrating a response of a printer to an image described in terms of colorimetric values. A further example of a calibration method and system is described in U.S. Pat. No. 5,528,386 to Rolleston et al, “Color Printer Calibration Architecture,” which issued on Jun. 18, 1996 and is also assigned to Xerox Corporation. U.S. Pat. No. 5,528,386 generally describes a conventional one-dimensional architecture. Both U.S. Pat. Nos. 5,305,119 and 5,528,386 are incorporated herein by reference.
The purpose of a “calibration transformation” is to facilitate a trade-off. Unlike the “full device-correction function,” calibration transformation provides control of the output device in a limited and exclusive fashion. In comparison to the full device-correction function, however, the calibration transformation also offers significant advantages in that it requires substantially reduced measurement effort and also a substantially lower computational effort. The lower computational effort requirement allows it to be incorporated in high-speed real-time printing, image-processing chains for which the full device-correction function may be too computational and/or memory intensive. For color output devices, particularly those utilized in the printing arts, calibration can be performed for the Black (K) channel independently and for the Cyan (C), Magenta (M), and Yellow (Y) channels either independently or together.
As an illustrative example, consider the case of a 3-channel (CMY) printer is considered. The goal of calibration is to determine a calibration transform from CMY to C′M′Y′ that maintains a desired printer response in selected regions of color space. Additionally, the calibration transform can be required to be computationally efficient with a small memory requirement so that it can be incorporated in high-speed real-time printing paths.
Traditionally, the calibration transform has been applied in the form of one-dimensional correction to the individual channels for the device. For CMY, the calibration can be applied as tone-response corrections (TRCs) for each of the C, M, and Y channels. FIG. 2 illustrates a traditional three-color one-dimensional calibration transformation system 200. As indicated in FIG. 2, arrows 202, 204 and 206 respectively represent C, M, and Y inputs to transformations 214, 216, and 218. Dashed line 212 generally indicates the boundaries of an overall calibration transformation, which can be composed of individual transformations 214, 216, and 218. Outputs are indicated by arrows 208, 210 and 211, which respectively represent C′, M′ and Y′. It should thus be appreciated that the following equation (1) can be applied to system 200 of FIG. 2:C′=f1(C), M′=f2(M), Y′=f3(Y)  (1)
With traditional one-dimensional calibration, either a one-dimensional desired response in terms of delta-E from paper can be specified along the three primary axes, or a three-dimensional CIELAB response can be specified along a one-dimensional locus that satisfies certain monotonicity constraints. The transformation in the rest of CMY space is therefore generally an outcome of the calibration function over which no control is available.
For example, all input points with the same input C value (e.g., M vs. Y plane) can map to the same C′ value. The problem with such an approach is that the response in a large part of color space potentially can be compromised to obtain a desired response along a one-dimensional locus. For example, if the TRCs are gray balanced, this can sometimes result in undesirable hue shifts in the reproductions of sweeps from white to secondary device colors (e.g., those lying along the red axis where M=Y, and C=K=0, likewise for green and blue). Conversely, if the TRCs are independently linearized, this will generally not yield gray balance for C=M=Y.
TRCs are obviously very efficient for real-time image processing. Memory requirements are also very minor: for 8-bit processing, 256 bytes of memory are required for each separation's TRC for a total of 768 bytes of storage. Additionally, derivation of the calibration is generally a simple, well-understood process, which involves measuring step wedges of pure C, M, Y and possibly patches near C=M=Y if gray balance is desired.
As an alternative to control of each individual channel for calibration, calibration may be performed as a full three-dimensional function from input C, M, Y to output C′, M′, Y′. Such a process has traditionally been utilized for characterization in current color management architectures but can be applied to calibration as an option. In this case, equation (2) applies:C′=f1(C, M, Y), M′=f2(C, M, Y), Y′=f3(C, M, Y)  (2)
The desired response can be specified at any point in three-dimensional CMY space. Thus it is possible to derive unique 1-1 calibration functions f1, f2, and f3 without any compromise in the desired response. Interactions with device drift may however require some degree of smoothness in the transformations.
If sparse three-dimensional LUTs are used with interpolation, the processing might be too computationally intensive for high speed printing applications. A full resolution LUT with direct lookup avoids interpolation, but might be prohibitively large, especially if several LUTs are required for different media, halftones, etc. For 8 bit processing, for instance, a full three-dimensional LUT would require 3*(256)3 bytes=48 MB of storage. Derivation of the calibration is similar to characterization, due to arbitrary three-dimensional control. Typically this involves a large number of measurements.
TRCs are appealing because of simplicity in derivation and processing. TRCs, however, are restrictive in the amount of control over the printer response. Three-dimensional LUTs offer tremendous control, but derivation and image processing are generally much more complex.